def ips(s):
flag = 0
for i in s:
if i not in ['A', 'H', 'I', 'M', 'O', 'T', 'U', 'V', 'W', 'X', 'Y']:
flag = 1
return flag
pd = 1
pd2 = 1
str_s = input()
if ips(str_s):
pd = 0
cnt = 0
str_rs = str_s[::-1]
if str_s != str_rs:
pd2 = 0
if pd == 1 and pd2 == 1:
print("YES")
else:
print("NO")
/* ████
████████
██ ██████████
████ ████ ████
██████ ██ ████▓▓
██ ██▓▓ ▓▓██ ████
██ ████▓▓ ████ ████▓▓
▓▓██ ████▓▓ ▓▓▓▓██ ██████
██ ██████▓▓▓▓▓▓██████ ████▓▓
██ ▓▓██████████████████▓▓ ██████
██ ▒▒██████████████████████▓▓██ ██████
██▓▓████████████████████████████ ▓▓██████▓▓
████████████████████████████████▓▓██████████▓▓▓▓
▓▓████ ██████ ██████████████████████████████████
████ ████ ██████████████████████████████████
▓▓██ ██ ██████████████████████████████▓▓
██████ ▓▓██ ▓▓████ ████████████████████████████
██████ ████ ██████████████ ██████████████████████
░░██ ██░░▓▓██████████░░ ░░██████████████████▓▓
████░░ ▓▓██ ██████░░░░░░ ░░██████████████████
▓▓▓▓░░ ░░░░ ░░██░░ ░░████████████████░░
████████████ ██████████████████
██████████████ ████████████████
██████████████ ████████████████
████████████░░ ████████████████
░░████████░░ ████████████████
██████ ██████████████████
████████ ████ ██████████████████
████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░ ██████████████████
░░████████████████████░░░░ ▒▒██████████████████
████████░░░░░░░░░░░░ ██▒▒ ████████████████████
░░░░████▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░ ████████████████████
██████████ ██████████████████████
████████ ██████████████████████
████████ ████████████████████████
██████████ ████████████████████████
██████████████ ████████████████████████
██████████████ ████████████████ ████████
████████ ██████ ████████████████ ██████
██████ ██████ ████████████████░░ ████
████████ ████ ████████████████ ████
██████████ ████ ████████████████ ██
██████████ ████ ██████████████
████████ ██████████████
████████████████████████
*/
#include <bits/stdc++.h>
#include <sstream>
#define ll long long
#define endl "\n"
#define yes cout<<"YES"<<endl;
#define no cout<<"NO"<<endl;
#define pb push_back
#define w(t) while(t--)
#define f(s) for(int i=0;i<s.size();i++)
#define f(n) for(int i=0;i<n;i++)
#define messi ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
#define space <<" "
#define die return 0;
#define allr(a) a.rbegin(),a.rend()
#define all(a) a.begin(),a.end()
using namespace std;
int main()
{
messi
string s,r;
cin>>s;
transform(s.begin(), s.end(), s.begin(), ::toupper);
for(int i=0;i<s.size();i++)
{
if(s[i]!='A'&&s[i]!='H'&&s[i]!='I'&&s[i]!='M'&&s[i]!='O'&&s[i]!='T'&&s[i]!='U'&&s[i]!='V'&&s[i]!='W'&&s[i]!='X'&&s[i]!='Y')
{
no
die
}
}
r=s;
reverse(all(s));
if(s==r)
yes
else
no
}
1474E - What Is It | 1335B - Construct the String |
1004B - Sonya and Exhibition | 1397A - Juggling Letters |
985C - Liebig's Barrels | 115A - Party |
746B - Decoding | 1424G - Years |
1663A - Who Tested | 1073B - Vasya and Books |
195B - After Training | 455A - Boredom |
1099A - Snowball | 1651D - Nearest Excluded Points |
599A - Patrick and Shopping | 237A - Free Cash |
1615B - And It's Non-Zero | 1619E - MEX and Increments |
34B - Sale | 1436A - Reorder |
1363C - Game On Leaves | 1373C - Pluses and Minuses |
1173B - Nauuo and Chess | 318B - Strings of Power |
1625A - Ancient Civilization | 864A - Fair Game |
1663B - Mike's Sequence | 448A - Rewards |
1622A - Construct a Rectangle | 1620A - Equal or Not Equal |